package de.unistuttgart.iaas.interaction.mail.util;

import java.io.IOException;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;


public class LogCreator 
{

	private static LoggingFileHandler logFileHandler = null;
	private static Logger logger = Logger.getLogger(LogCreator.class);
	private static String configFilePath = "../MailCommServiceAPI/Configuration.conf";
	
//	public static int createLogger(String log)
//	{
//		logFileHandler = new LoggingFileHandler("C:/Workspace/communicationServicesAPI/MailCommServiceAPI/Configuration.conf");
//		RollingFileAppender fileAppender = new RollingFileAppender();
//		
//		PatternLayout layout = new PatternLayout(logFileHandler.getMailPattern());
//		
//		try
//		{
//			if(log.equalsIgnoreCase("request"))
//			{
//				fileAppender = new RollingFileAppender(layout, logFileHandler.getRequestLogFilePath(), true);
//			}else if(log.equalsIgnoreCase("autorun"))
//			{
//				fileAppender = new RollingFileAppender(layout, logFileHandler.getAutoMailLogFilePath(), true);
//			}
//			
//			fileAppender.setMaxFileSize(logFileHandler.getMailLogFileSize());
//			
//			fileAppender.setEncoding("UTF-8");
//		}
//		catch(IOException exIO)
//		{
//			System.out.println("Error: The logging file cann't be created!");
//			exIO.printStackTrace();
//			return 1;
//		}
//		
//		logger.addAppender(fileAppender);
//		
//		setLogLevel(logFileHandler.getMailLogLevel());
//
//		return 0;
//	  }
//	
//    
//	public static void setLogLevel(String strLogLevel)
//	{
//		if(strLogLevel.equals("ALL"))
//		{
//			logger.setLevel(Level.ALL);
//		}
//		else if(strLogLevel.equalsIgnoreCase("DEBUG"))
//		{
//			logger.setLevel(Level.DEBUG);
//		}
//		else if(strLogLevel.equalsIgnoreCase("ERROR"))
//		{
//			logger.setLevel(Level.ERROR);
//		}
//		else if(strLogLevel.equalsIgnoreCase("FATAL"))
//		{
//			logger.setLevel(Level.FATAL);
//		}
//		else if(strLogLevel.equalsIgnoreCase("INFO"))
//		{
//			logger.setLevel(Level.INFO);
//		}
//		else if(strLogLevel.equalsIgnoreCase("OFF"))
//		{
//			logger.setLevel(Level.OFF);
//		}
//		else if(strLogLevel.equalsIgnoreCase("WARN"))
//		{
//			logger.setLevel(Level.WARN);
//		}
//		else
//		{
//			logger.setLevel(Level.WARN);
//			logger.warn("Loglevel is invalid, it has been set with Loglevel WARN.");
//		}
//	}	

}
